A search engine is in general a system that provides search services to a user after collecting, organizing, and processing information on the Internet based on certain strategies implemented by designated computer programs. From a user's perspective, a search engine provides a web page that includes a search box. After a keyword is inputted in the search box and submitted to the search engine through a browser, the search engine returns a list of information that is relevant to the content inputted by the user. In this sense, the keyword inputted by the user becomes search term. Specifically, the user searches relevant contents of interest using the search term.
In a practical application, contents relevant to user-input search term may be occasionally missed for retrieval. For example, when the search term of a user is “Black Lenovo Thinkpad Laptop X60”, the search engine may not find a completely matched search result because the input search keyword is too long. Therefore, the browser returns no search result. When the search term is modified to be “Thinkpad Lenovo Laptop X60”, relevant results may then be retrieved from the search because the inputted search keyword is shorter. In view of this, rule-based search methods exist in existing technologies. One conventional method first segments the search term. Subsequently, based on properties of each phrase obtained after word segmentation (e.g., whether it is a noun, an adjective, or a type such as product's type, brand or model number and information of each phrase), the method concludes certain rules according to the needs. For example, one rule may be that if phrases of two product types are close to each other, the latter has a higher weight. For instance, in “mobile phone charger”, “charger” may have a higher weight. Using the above method of searching and rewriting based on a set of rules, the original search term may be rewritten into a new search term. A server of the search engine may subsequently perform a search using the new search term.
As illustrated from the above process, when performing a search, the search engine employs a method that rewrites the user-inputted search terms based on certain rules. Because each rewriting operation requires relevant rules that have been set up by a staff in advance and because search terms inputted by users through respective browsers may be of numerous types, the error rate of this simple rule-based method of rewriting search terms tends to be relatively high. Moreover, because of the existence of ambiguity, a result obtained after rewriting a search term may sometimes be inaccurate. Results obtained in a search that is based on an inaccurate rewritten search term may not be what the user wants, thus reducing user experience of the search engine.
In short, an existing technical problem that badly needs to be solved by one of ordinary skill in the art related to how to create a search method that solves the problem of inaccurate search results caused by searching after rule-based rewriting of search terms in existing technologies.